﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Negocio;

namespace Precentacion1
{
    public partial class FormVentas : Form
    {
        public FormVentas()
        {
            InitializeComponent();
            this.ConfigurarDataGridView(this.dataGridViewVentas);
            //this.dataGridViewVentas.DataSource = admVentas.Listar(string.Empty,string.Empty,string.Empty,null);
            
            //this.dataGridViewVentas.Columns["idVenta"].Visible = false;
            //this.dataGridViewVentas.Columns["CantidadVendida"].Visible = false;
            this.FechaVenta.Enabled = false;
            
        }

        private void buttonBuscar_Click(object sender, EventArgs e)
        {
            mostrarVentas();

        }
        private void ConfigurarDataGridView(DataGridView paramDataGridView)
        {
            paramDataGridView.ReadOnly = true;
            paramDataGridView.MultiSelect = false;
            paramDataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
            paramDataGridView.RowHeadersVisible = false;
            paramDataGridView.AllowUserToResizeRows = false;
            paramDataGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
            paramDataGridView.AlternatingRowsDefaultCellStyle.BackColor = Color.AliceBlue;
        }
        
        
        public void mostrarVentas()
        {
            DateTime? fechaVenta;
            if (this.checkBoxFecha.Checked == true)
                fechaVenta = this.FechaVenta.Value;
            else
                fechaVenta = null;
            this.dataGridViewVentas.DataSource = admVentas.ListarVentasRealizadas(this.comboBoxMes.Text, fechaVenta, this.textBoxNombreCliente.Text, this.textBoxApellidoCliente.Text, textBoxNomProd.Text, textBoxMarca.Text, textBoxModelo.Text);
            //this.dataGridViewVentas.DataSource = admVentas.Listar(this.textBoxCodProd.Text, this.textBoxMarca.Text, this.textBoxNomProd.Text, fechaVenta);
            this.dataGridViewVentas.Columns["idVenta"].Visible = false;
            //this.dataGridViewVentas.Columns["CantidadVendida"].Visible = false;
        }

        private void Eliminar_Click(object sender, EventArgs e)
        {
            if (this.dataGridViewVentas.SelectedRows.Count > 0)
            {
                if (MessageBox.Show("Desea eliminar la venta seleccionada", Application.ProductName, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
                {
                    admVentas.EliminarVenta(Convert.ToInt32(this.dataGridViewVentas.SelectedRows[0].Cells["idVenta"].Value));
                    MessageBox.Show("Se elimino la venta correctamente");
                    mostrarVentas();
                }
            }
        }

        private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
        {

        }

        private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
            if (this.checkBoxFecha.Checked == false)
            {
                this.FechaVenta.Enabled = false;
            }
            else
            {
                this.FechaVenta.Enabled = true;
            }
        }

        private void Exportar_Click(object sender, EventArgs e)
        {
        //    string timeMark = DateTime.Now.ToString("yyyyMMdd HHmmss");
        //    string cellByCellFilePath = "C:\\ExcelExportCellByCell_" + timeMark + ".xls";
        //    string fastExportFilePath = "C:\\ExcelExportFastExport_" + timeMark + ".xls";

        //    DataSet demoDataSet = admVentas.Listar(this.textBoxCodProd.Text, this.textBoxMarca.Text, this.textBoxNomProd.Text, null);
        }

        private void Modificar_Click(object sender, EventArgs e)
        {
            if (this.checkBoxFecha.Checked == true)
            {
                if (this.dataGridViewVentas.SelectedRows.Count > 0)
                {
                    if (MessageBox.Show("Desea cambiar la fecha de la venta seleccionada", Application.ProductName, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
                    {
                        admVentas.ModificarFechaVenta(this.FechaVenta.Value, Convert.ToInt32(this.dataGridViewVentas.SelectedRows[0].Cells["idVenta"].Value));
                        mostrarVentas();
                    }

                }
                else
                    MessageBox.Show("Debe seleccionar una venta");
            }
            else
                MessageBox.Show("Debe seleccionar una fecha nueva");
        }
    }
}
